enum ErrorCode { error_success, error_overflow, error_underflow, error_range };

using namespace std;

template <class Record>
struct Node {
	// data members
	Record        data;                
	Node<Record> *next;                
	// constructors
	Node();                               
	Node(Record _record, Node<Record> *_next = NULL);                
};




// default constructor initializes record and *next to empty
template <class Record>
Node<Record> :: Node()
{
	next = NULL;            
}

// constructor with parametersfor initializing the data members
template <class Record>
Node<Record> :: Node(Record _record, Node<Record> *_next)
{
	record = _record;
	next = _next;            
}

